﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace QuanLyBepAnTuThien
{
    public partial class frmDoiMatKhau : Form
    {
        public frmDoiMatKhau()
        {
            InitializeComponent();
        }
        connect cn = new connect();
        private void frmDoiMatKhau_Load(object sender, EventArgs e)
        {
            lbUsername.Text = login._user;
            this.KeyPreview = true;
        }
        private bool ThucHien()
        {
            if (txtMatKhauCu.Text =="")
            {
                MessageBox.Show("Bạn chưa nhập mật khẩu cũ. Vui lòng nhập lại","Thông Báo",MessageBoxButtons.OK,MessageBoxIcon.Error);                
                txtMatKhauCu.Focus();
                txtMatKhauMoi.Clear();
                return false;
            }
            if (txtMatKhauCu.Text != "")
            {
                SqlCommand cmd_ktmk = new SqlCommand("tblNguoiDung_KienTraMKCu", cn.ketnoi());
                cmd_ktmk.CommandType = CommandType.StoredProcedure;                
                cmd_ktmk.Parameters.Add(new SqlParameter("p", SqlDbType.NVarChar)).Value =cn.md5(txtMatKhauCu.Text);
                SqlDataAdapter da = new SqlDataAdapter(cmd_ktmk);
                DataTable dt = new DataTable();
                da.Fill(dt);
                if (dt.Rows.Count == 0)
                {
                    MessageBox.Show("Mật khẩu cũ chưa đúng vui lòng nhập lại!", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    txtMatKhauCu.Clear();
                    txtMatKhauCu.Focus();
                    txtMatKhauMoi.Clear();
                    return false;
                }
            }            
            if (txtMatKhauMoi.Text == "")
            {
                MessageBox.Show("Bạn chưa nhập mật khẩu mới. Vui lòng nhập lại", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtMatKhauMoi.Focus();
                return false;
            }
            else
            {
                SqlCommand cmd = new SqlCommand("tblNguoiDung_DangNhap", cn.ketnoi());
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new SqlParameter("p", SqlDbType.NVarChar)).Value =cn.md5(txtMatKhauCu.Text);
                cmd.Parameters.Add(new SqlParameter("u", SqlDbType.NVarChar)).Value = login._user;
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                if (dt.Rows.Count == 1)
                {
                    if (MessageBox.Show("Bạn có thật sự muốn đổi mật khẩu không?", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        SqlCommand cmd_doimk = new SqlCommand("tblNguoiDung_DoiMK", cn.ketnoi());
                        cmd_doimk.CommandType = CommandType.StoredProcedure;
                        cmd_doimk.Parameters.Add(new SqlParameter("p", SqlDbType.NVarChar)).Value = cn.md5(txtMatKhauMoi.Text);
                        cmd_doimk.Parameters.Add(new SqlParameter("u", SqlDbType.NVarChar)).Value = login._user;
                        if (cmd_doimk.ExecuteNonQuery() == 1)
                        {
                            return true;
                        }
                    }
                }
            }
            return false;
        }        
        private void btnThucHien_Click(object sender, EventArgs e)
        {
            if (ThucHien() == true)
            {
                MessageBox.Show("Đã đổi mật khẩu thành công!. Bạn vui lòng thực hiện đăng nhập lại vào hệ thống", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                login._user = null;
                login._pass = null;
                login.Quyen = null;
                this.Close();
                

            }
            
        }

        private void frmDoiMatKhau_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode.Equals(Keys.Enter))
            {
                btnThucHien_Click(sender, e);
            }
        }

        private void txtMatKhauCu_Leave(object sender, EventArgs e)
        {
           
        }

        private void btnHuy_Click(object sender, EventArgs e)
        {
            this.Close();
        }                
    }
}
